package com.lanhai.model;

import java.util.Date;

import lombok.Data;

/**
 * 站点
 * 
 * @author liangmin
 *
 */
@Data
public class Station {
	public int id;
	public String name;// 名称
	public String sname;// 名称2
	public int inNum;// 到达地标号
	public int outNum;// 离开地标号
	public int type;// 类型:1、上下料机，2、翻篮机，3、缓存机
	public String[] controlAreaIds;// 对应交管区ID数组
	public int outFlag;// 允许离开标记：0、不允许离开，1、允许离开
	public int transferFlag;// 允许传输标记：0、不允许传输，1、允许传输
	public int step;// 工序
	public int nextStep;// 下一道工序
	public String ipAddress;// 站点的IP地址
	public String protocol;// 通信协议
	public int readTar;// 读寄存器地址
	public int writeTar;// 写寄存器地址
	public int port;// 通讯端口号
	public String lastData;// 最后一条收到的数据
	public int isClear;// 需要清空PCL寄存器（fins协议时使用），等于1时需要清除
	public String cacheStr;// 调度写入内存的16进制字符串
	public int pGroup;// 机台分组(线别编号，用于匹配上下游工序)
	public int pType;// 所加工的产品:0、18X,1、182,2、210
	public int state;// 状态:1、允许对接，2、不允许对接
	public byte[] stateArray;// 状态数组，给制绒下料机用
	public Date waitTime;// 呼叫等待时间
	public int isWait;// 是否等待AGV(上料标记)
	public int isWait2;// 是否等待AGV（下料标记）
	public int isUnload;// 机台是否要下料（用于SE接驳台）,1、机台要下料AGV不离开，2、机台不下料AGV离开
	public int isResive;// 是否可以送料
	public Date lastReceiveTime;// 最后接收数据时间
	public int joinAgvId;// 指派任务的agvId
	public int isRelease;// 到位后是否释放交管区
	public Date lastJoinTime;// 最后对接时间

	/**
	 * 机台初始化
	 */
	public boolean initFlag;

	/**
	 * 选择点分组归类
	 */
	public int limit;

	/**
	 * 代理主机机台ID
	 */
	public int agentLocalId;

	/**
	 * 主机机台源ID
	 */
	public int agentId;

	/**
	 * 代理主机地址
	 */
	public String agentIpAddress;

	/**
	 * 代理主机端口
	 */
	public int agentPort;

	/**
	 * 系统状态
	 */
	public int controlState;
	/**
	 * 进料的花篮数量
	 */
	public int inQuantity;
	/**
	 * 出料的花篮数量
	 */
	public int outQuantity;

	/**
	 * 出料左阻挡位
	 */
	public int outLeftStop;

	/**
	 * 出料右阻挡位
	 */
	public int outRightStop;

	@Override
	public String toString() {
		return "No:" + id + ",name:" + name + ",step:" + step + ",joinAgvId:" + joinAgvId + ",pType:" + pType
				+ ",isWait:" + isWait;
	}

}
